package com.ydd.mapper;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.pagehelper.Page;
import com.ydd.annotation.AutoFill;
import com.ydd.dto.UserListDTO;
import com.ydd.entity.SysUser;
import com.ydd.entity.YddUser;
import com.ydd.enumeration.OperationType;
import com.ydd.vo.RowInfoVO;
import com.ydd.vo.UserListRequestVO;
import com.ydd.vo.UserListVO;
import org.apache.ibatis.annotations.*;

@Mapper
public interface UserMapper extends BaseMapper<YddUser> {
    //用户详情
    RowInfoVO rowInfo(Long id);

    //用户列表


    Page<YddUser> pageQuery(UserListRequestVO userListRequestVO);

    /**用户添加
     *
     * @param yddUser
     */
//    @AutoFill(value = OperationType.INSERT)
    @Insert("insert into ydd_user values (#{id},#{username},#{mobile},#{sex},#{password},#{icon},#{notes},#{birthday},#{address},#{defaultData});")
//    @Options(useGeneratedKeys = true,keyProperty = "id")
    void insertOne(YddUser yddUser);


    /**
     * 条件查询获取数量
     * @param yddUser
     * @return
     */
    Integer count(YddUser yddUser);


    /**
     * 用户删除
     * @param id
     * @return
     */
   void del(Long id);


    /**
     * 用户修改
     * @param yddUser
     */
    void update(YddUser yddUser);

    @Delete("delete from ydd_user_data where article_id = #{id} and type =#{type}")
    void delByArticleId(Integer id,String type);

    /**
     * 不返回密码
     * @param id
     * @return
     */
    @Select("select username,mobile,icon,sex from ydd_user where id = #{id}")
    YddUser selectByIdNoPW(Integer id);


    //
}
